<?php

/**
 * Created by PhpStorm.
 * Author: ls
 * Time: 2023/9/22 10:25
 * Desc: 优惠券
 */
abstract class Contract_Api_Coupon
{
    use Trait_Api_Image;


    /**
     * 领券中心
     * @param array $params
     * @return array
     * @throws Exception
     */
    abstract function receive_list(array $params): array;

    /**
     * 领取优惠券
     * @param int $mid
     * @param int $id
     * @return array
     * @throws Exception
     */
    abstract function receive(int $mid, int $id): array;

    /**
     * 用户优惠券
     * @param int $mid
     * @param array $params
     * @return array
     * @throws Exception
     */
    abstract function member_coupon(int $mid, array $params): array;

    /**
     * 计算优惠券金额
     * @param int $mid
     * @param array $params
     * @return array
     * @throws Exception
     */
    abstract function check_samount(int $mid, array $params): array;

    /**
     * 获取可使用的优惠券
     * @param int $mid
     * @param array $params
     * @return array
     * @throws Exception
     */
    abstract function product_use_list(int $mid, array $params): array;

    /**
     * 优惠券可使用产品
     * @param array $params
     * @return array
     * @throws Exception
     */
    abstract function use_product(array $params): array;

    /**
     * 产品可使用优惠券
     * @param array $params
     * @param int $mid
     * @return array
     * @throws Exception
     */
    abstract function get_coupon_list(array $params, $mid = 0): array;

    /**
     * 优惠券产品类别
     * @param array $params
     * @return array
     * @throws Exception
     */
    abstract function get_coupon_category(array $params): array;
}